package com.jingli.pile.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonAutoDetect;
import com.fasterxml.jackson.annotation.JsonProperty;

import java.io.Serializable;
import java.util.List;

/**
 * 充电站充电订单信息
 * @TableName sub_charge_order_info
 */
@TableName(value ="sup_charge_order_info")
@JsonAutoDetect(getterVisibility = JsonAutoDetect.Visibility.NONE)
public class SupChargeOrderInfo implements Serializable {
    /**
     * 充电接口唯一 标识
     */
    @JsonProperty(value = "ConnectorID")
    private String connectorId;

    /**
     * 运营商ID
     */
    @JsonProperty(value = "OperatorID")
    private String operatorId;

    /**
     * 充电站ID
     */
    @JsonProperty(value = "StationID")
    private String stationId;

    /**
     * 充电设备ID
     */
    @JsonProperty(value = "EquipmentID")
    private String equipmentId;

    /**
     * 设备所属方ID
     */
    @JsonProperty(value = "EquipmentOwnerID")
    private String equipmentOwnerId;

    /**
     * 充电订单号
     */
    @JsonProperty(value = "OrderNo")
    @TableId
    private String orderNo;

    /**
     * 车牌号
     */
    @JsonProperty(value = "LicensePlate")
    private String licensePlate;

    /**
     * 车辆唯一识别码
     */
    @JsonProperty(value = "VIN")
    private String vin;

    /**
     * 充电开始SOC
     */
    @JsonProperty(value = "StartSOC")
    private Double startSoc;

    /**
     * 充电结束SOC
     */
    @JsonProperty(value = "EndSOC")
    private Double endSoc;

    /**
     * 本单开始充电 时间
     */
    @JsonProperty(value = "StartTime")
    private String startTime;

    /**
     * 结束充电时间
     */
    @JsonProperty(value = "EndTime")
    private String endTime;


    @JsonProperty(value = "TotalPower")
    private Double totalPower;

    /**
     * 尖阶段电量
     */
    @JsonProperty(value = "CuspElect")
    private Double cuspElect;

    /**
     * 峰阶段电量
     */
    @JsonProperty(value = "PeakElect")
    private Double peakElect;

    /**
     * 平阶段电量
     */
    @JsonProperty(value = "FlatElect")
    private Double flatElect;

    /**
     * 谷阶段电量
     */
    @JsonProperty(value = "ValleyElect")
    private Double valleyElect;

    /**
     * 推送时间
     */
    @JsonProperty(value = "PushTimeStamp")
    private String pushTimeStamp;

    /**
     * 总电费
     */
    @JsonProperty(value = "TotalElecMoney")
    private Double totalElecMoney;

    /**
     * 总服务费
     */
    @JsonProperty(value = "TotalSeviceMoney")
    private Double totalSeviceMoney;

    /**
     * 累计总金额
     */
    @JsonProperty(value = "TotalMoney")
    private Double totalMoney;

    /**
     * 充电结束原因
     */
    @JsonProperty(value = "StopReason")
    private Integer stopReason;

    /**
     * 充电结束原因描述
     */
    @JsonProperty(value = "StopDesc")
    private String stopDesc;

    /**
     * 时段数
     */
    @JsonProperty(value = "SumPeriod")
    private Integer sumPeriod;

    /**
     * 充电明细信息列表
     */
    @JsonProperty(value = "ChargeDetails")
    private List<SupChargeDetails> chargeDetails;

    @TableField(exist = false)
    private static final long serialVersionUID = 1L;

    /**
     * 充电接口唯一 标识
     */
    public String getConnectorId() {
        return connectorId;
    }

    /**
     * 充电接口唯一 标识
     */
    public void setConnectorId(String connectorId) {
        this.connectorId = connectorId;
    }

    /**
     * 运营商ID
     */
    public String getOperatorId() {
        return operatorId;
    }

    /**
     * 运营商ID
     */
    public void setOperatorId(String operatorId) {
        this.operatorId = operatorId;
    }

    /**
     * 充电站ID
     */
    public String getStationId() {
        return stationId;
    }

    /**
     * 充电站ID
     */
    public void setStationId(String stationId) {
        this.stationId = stationId;
    }

    /**
     * 充电设备ID
     */
    public String getEquipmentId() {
        return equipmentId;
    }

    /**
     * 充电设备ID
     */
    public void setEquipmentId(String equipmentId) {
        this.equipmentId = equipmentId;
    }

    /**
     * 设备所属方ID
     */
    public String getEquipmentOwnerId() {
        return equipmentOwnerId;
    }

    /**
     * 设备所属方ID
     */
    public void setEquipmentOwnerId(String equipmentOwnerId) {
        this.equipmentOwnerId = equipmentOwnerId;
    }

    /**
     * 充电订单号
     */
    public String getOrderNo() {
        return orderNo;
    }

    /**
     * 充电订单号
     */
    public void setOrderNo(String orderNo) {
        this.orderNo = orderNo;
    }

    /**
     * 车牌号
     */
    public String getLicensePlate() {
        return licensePlate;
    }

    /**
     * 车牌号
     */
    public void setLicensePlate(String licensePlate) {
        this.licensePlate = licensePlate;
    }

    /**
     * 车辆唯一识别码
     */
    public String getVin() {
        return vin;
    }

    /**
     * 车辆唯一识别码
     */
    public void setVin(String vin) {
        this.vin = vin;
    }

    /**
     * 充电开始SOC
     */
    public Double getStartSoc() {
        return startSoc;
    }

    /**
     * 充电开始SOC
     */
    public void setStartSoc(Double startSoc) {
        this.startSoc = startSoc;
    }

    /**
     * 充电结束SOC
     */
    public Double getEndSoc() {
        return endSoc;
    }

    /**
     * 充电结束SOC
     */
    public void setEndSoc(Double endSoc) {
        this.endSoc = endSoc;
    }

    /**
     * 本单开始充电 时间
     */
    public String getStartTime() {
        return startTime;
    }

    /**
     * 本单开始充电 时间
     */
    public void setStartTime(String startTime) {
        this.startTime = startTime;
    }

    /**
     * 结束充电时间
     */
    public String getEndTime() {
        return endTime;
    }

    /**
     * 结束充电时间
     */
    public void setEndTime(String endTime) {
        this.endTime = endTime;
    }

    /**
     * 尖阶段电量
     */
    public Double getCuspElect() {
        return cuspElect;
    }

    /**
     * 尖阶段电量
     */
    public void setCuspElect(Double cuspElect) {
        this.cuspElect = cuspElect;
    }

    /**
     * 峰阶段电量
     */
    public Double getPeakElect() {
        return peakElect;
    }

    /**
     * 峰阶段电量
     */
    public void setPeakElect(Double peakElect) {
        this.peakElect = peakElect;
    }

    /**
     * 平阶段电量
     */
    public Double getFlatElect() {
        return flatElect;
    }

    /**
     * 平阶段电量
     */
    public void setFlatElect(Double flatElect) {
        this.flatElect = flatElect;
    }

    /**
     * 谷阶段电量
     */
    public Double getValleyElect() {
        return valleyElect;
    }

    /**
     * 谷阶段电量
     */
    public void setValleyElect(Double valleyElect) {
        this.valleyElect = valleyElect;
    }

    /**
     * 推送时间
     */
    public String getPushTimeStamp() {
        return pushTimeStamp;
    }

    /**
     * 推送时间
     */
    public void setPushTimeStamp(String pushTimeStamp) {
        this.pushTimeStamp = pushTimeStamp;
    }

    /**
     * 总电费
     */
    public Double getTotalElecMoney() {
        return totalElecMoney;
    }

    /**
     * 总电费
     */
    public void setTotalElecMoney(Double totalElecMoney) {
        this.totalElecMoney = totalElecMoney;
    }

    /**
     * 总服务费
     */
    public Double getTotalSeviceMoney() {
        return totalSeviceMoney;
    }

    /**
     * 总服务费
     */
    public void setTotalSeviceMoney(Double totalSeviceMoney) {
        this.totalSeviceMoney = totalSeviceMoney;
    }

    /**
     * 累计总金额
     */
    public Double getTotalMoney() {
        return totalMoney;
    }

    /**
     * 累计总金额
     */
    public void setTotalMoney(Double totalMoney) {
        this.totalMoney = totalMoney;
    }

    /**
     * 充电结束原因
     */
    public Integer getStopReason() {
        return stopReason;
    }

    /**
     * 充电结束原因
     */
    public void setStopReason(Integer stopReason) {
        this.stopReason = stopReason;
    }

    /**
     * 充电结束原因描述
     */
    public String getStopDesc() {
        return stopDesc;
    }

    /**
     * 充电结束原因描述
     */
    public void setStopDesc(String stopDesc) {
        this.stopDesc = stopDesc;
    }

    /**
     * 时段数
     */
    public Integer getSumPeriod() {
        return sumPeriod;
    }

    /**
     * 时段数
     */
    public void setSumPeriod(Integer sumPeriod) {
        this.sumPeriod = sumPeriod;
    }

    /**
     * 充电明细信息列表
     */
    public List<SupChargeDetails> getChargeDetails() {
        return chargeDetails;
    }

    /**
     * 充电明细信息列表
     */
    public void setChargeDetails(List<SupChargeDetails> chargeDetails) {
        this.chargeDetails = chargeDetails;
    }

    public Double getTotalPower() {
        return totalPower;
    }

    public void setTotalPower(Double totalPower) {
        this.totalPower = totalPower;
    }
}